<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="stylesheet.css" rel="stylesheet" type="text/css">
</head>
<body>
<center>
<table class="mainTable">

  <tr>
    <td class="header">
    	<span class="indexheader">Minim</span><br/>
    	<span class="indexnavigation">
    		<a href="index.html">core</a> | 
    		<a href="index_ugens.html">ugens</a> | 
    		<a href="index_analysis.html">analysis</a>
    	</span>
    </td>
    <td class="border-left">&nbsp;</td>
  </tr>

  <tr>
  	<td class="linkList classNavigation"><a class="classLink" href="audiobuffer_audiobuffer.html">AudioBuffer</a><br><a href="audiobuffer_method_get.html">get ( )</a><br><a href="audiobuffer_method_level.html">level ( )</a><br><a href="audiobuffer_method_size.html">size ( )</a><br><a href="audiobuffer_method_toarray.html">toArray ( )</a><br><BR><a class="classLink" href="audioinput_class_audioinput.html">AudioInput</a><br><a href="audioinput_field_left.html">left</a><br><a href="audioinput_field_mix.html">mix</a><br><a href="audioinput_field_right.html">right</a><br><a href="audioinput_method_addlistener.html">addListener ( )</a><br><a href="audioinput_method_buffersize.html">bufferSize ( )</a><br><a href="audioinput_method_close.html">close ( )</a><br><a href="audioinput_method_disablemonitoring.html">disableMonitoring ( )</a><br><a href="audioinput_method_enablemonitoring.html">enableMonitoring ( )</a><br><a href="audioinput_method_getbalance.html">getBalance ( )</a><br><a href="audioinput_method_getcontrol.html">getControl ( )</a><br><a href="audioinput_method_getformat.html">getFormat ( )</a><br><a href="audioinput_method_getgain.html">getGain ( )</a><br><a href="audioinput_method_getpan.html">getPan ( )</a><br><a href="audioinput_method_getvolume.html">getVolume ( )</a><br><a href="audioinput_method_ismonitoring.html">isMonitoring ( )</a><br><a href="audioinput_method_ismuted.html">isMuted ( )</a><br><a href="audioinput_method_mute.html">mute ( )</a><br><a href="audioinput_method_removelistener.html">removeListener ( )</a><br><a href="audioinput_method_samplerate.html">sampleRate ( )</a><br><a href="audioinput_method_setbalance.html">setBalance ( )</a><br><a href="audioinput_method_setgain.html">setGain ( )</a><br><a href="audioinput_method_setpan.html">setPan ( )</a><br><a href="audioinput_method_setvolume.html">setVolume ( )</a><br><a href="audioinput_method_shiftbalance.html">shiftBalance ( )</a><br><a href="audioinput_method_shiftgain.html">shiftGain ( )</a><br><a href="audioinput_method_shiftpan.html">shiftPan ( )</a><br><a href="audioinput_method_shiftvolume.html">shiftVolume ( )</a><br><a href="audioinput_method_type.html">type ( )</a><br><a href="audioinput_method_unmute.html">unmute ( )</a><br><BR><a class="classLink" href="audiolistener_audiolistener.html">AudioListener</a><br><a href="audiolistener_method_samples.html">samples ( )</a><br><BR><a class="classLink" href="audiometadata_class_audiometadata.html">AudioMetaData</a><br><a href="audiometadata_method_album.html">album ( )</a><br><a href="audiometadata_method_author.html">author ( )</a><br><a href="audiometadata_method_comment.html">comment ( )</a><br><a href="audiometadata_method_composer.html">composer ( )</a><br><a href="audiometadata_method_copyright.html">copyright ( )</a><br><a href="audiometadata_method_date.html">date ( )</a><br><a href="audiometadata_method_disc.html">disc ( )</a><br><a href="audiometadata_method_encoded.html">encoded ( )</a><br><a href="audiometadata_method_filename.html">fileName ( )</a><br><a href="audiometadata_method_genre.html">genre ( )</a><br><a href="audiometadata_method_length.html">length ( )</a><br><a href="audiometadata_method_lyrics.html">lyrics ( )</a><br><a href="audiometadata_method_orchestra.html">orchestra ( )</a><br><a href="audiometadata_method_publisher.html">publisher ( )</a><br><a href="audiometadata_method_sampleframecount.html">sampleFrameCount ( )</a><br><a href="audiometadata_method_title.html">title ( )</a><br><a href="audiometadata_method_track.html">track ( )</a><br><BR><a class="classLink" href="audiooutput_class_audiooutput.html">AudioOutput</a><br><a href="audiooutput_field_left.html">left</a><br><a href="audiooutput_field_mix.html">mix</a><br><a href="audiooutput_field_right.html">right</a><br><a href="audiooutput_method_addlistener.html">addListener ( )</a><br><a href="audiooutput_method_buffersize.html">bufferSize ( )</a><br><a href="audiooutput_method_getbalance.html">getBalance ( )</a><br><a href="audiooutput_method_getcontrol.html">getControl ( )</a><br><a href="audiooutput_method_getdurationfactor.html">getDurationFactor ( )</a><br><a href="audiooutput_method_getformat.html">getFormat ( )</a><br><a href="audiooutput_method_getgain.html">getGain ( )</a><br><a href="audiooutput_method_getnoteoffset.html">getNoteOffset ( )</a><br><a href="audiooutput_method_getpan.html">getPan ( )</a><br><a href="audiooutput_method_gettempo.html">getTempo ( )</a><br><a href="audiooutput_method_getvolume.html">getVolume ( )</a><br><a href="audiooutput_method_ismuted.html">isMuted ( )</a><br><a href="audiooutput_method_mute.html">mute ( )</a><br><a href="audiooutput_method_pausenotes.html">pauseNotes ( )</a><br><a href="audiooutput_method_playnote.html">playNote ( )</a><br><a href="audiooutput_method_removelistener.html">removeListener ( )</a><br><a href="audiooutput_method_resumenotes.html">resumeNotes ( )</a><br><a href="audiooutput_method_samplerate.html">sampleRate ( )</a><br><a href="audiooutput_method_setbalance.html">setBalance ( )</a><br><a href="audiooutput_method_setdurationfactor.html">setDurationFactor ( )</a><br><a href="audiooutput_method_setgain.html">setGain ( )</a><br><a href="audiooutput_method_setnoteoffset.html">setNoteOffset ( )</a><br><a href="audiooutput_method_setpan.html">setPan ( )</a><br><a href="audiooutput_method_settempo.html">setTempo ( )</a><br><a href="audiooutput_method_setvolume.html">setVolume ( )</a><br><a href="audiooutput_method_shiftbalance.html">shiftBalance ( )</a><br><a href="audiooutput_method_shiftgain.html">shiftGain ( )</a><br><a href="audiooutput_method_shiftpan.html">shiftPan ( )</a><br><a href="audiooutput_method_shiftvolume.html">shiftVolume ( )</a><br><a href="audiooutput_method_type.html">type ( )</a><br><a href="audiooutput_method_unmute.html">unmute ( )</a><br><BR><a class="classLink" href="audioplayer_class_audioplayer.html">AudioPlayer</a><br><a href="audioplayer_field_left.html">left</a><br><a href="audioplayer_field_mix.html">mix</a><br><a href="audioplayer_field_right.html">right</a><br><a href="audioplayer_method_addlistener.html">addListener ( )</a><br><a href="audioplayer_method_buffersize.html">bufferSize ( )</a><br><a href="audioplayer_method_cue.html">cue ( )</a><br><a href="audioplayer_method_getbalance.html">getBalance ( )</a><br><a href="audioplayer_method_getcontrol.html">getControl ( )</a><br><a href="audioplayer_method_getformat.html">getFormat ( )</a><br><a href="audioplayer_method_getgain.html">getGain ( )</a><br><a href="audioplayer_method_getmetadata.html">getMetaData ( )</a><br><a href="audioplayer_method_getpan.html">getPan ( )</a><br><a href="audioplayer_method_getvolume.html">getVolume ( )</a><br><a href="audioplayer_method_islooping.html">isLooping ( )</a><br><a href="audioplayer_method_ismuted.html">isMuted ( )</a><br><a href="audioplayer_method_isplaying.html">isPlaying ( )</a><br><a href="audioplayer_method_length.html">length ( )</a><br><a href="audioplayer_method_loop.html">loop ( )</a><br><a href="audioplayer_method_loopcount.html">loopCount ( )</a><br><a href="audioplayer_method_mute.html">mute ( )</a><br><a href="audioplayer_method_pause.html">pause ( )</a><br><a href="audioplayer_method_play.html">play ( )</a><br><a href="audioplayer_method_position.html">position ( )</a><br><a href="audioplayer_method_removelistener.html">removeListener ( )</a><br><a href="audioplayer_method_rewind.html">rewind ( )</a><br><a href="audioplayer_method_samplerate.html">sampleRate ( )</a><br><a href="audioplayer_method_setbalance.html">setBalance ( )</a><br><a href="audioplayer_method_setgain.html">setGain ( )</a><br><a href="audioplayer_method_setlooppoints.html">setLoopPoints ( )</a><br><a href="audioplayer_method_setpan.html">setPan ( )</a><br><a href="audioplayer_method_setvolume.html">setVolume ( )</a><br><a href="audioplayer_method_shiftbalance.html">shiftBalance ( )</a><br><a href="audioplayer_method_shiftgain.html">shiftGain ( )</a><br><a href="audioplayer_method_shiftpan.html">shiftPan ( )</a><br><a href="audioplayer_method_shiftvolume.html">shiftVolume ( )</a><br><a href="audioplayer_method_skip.html">skip ( )</a><br><a href="audioplayer_method_type.html">type ( )</a><br><a href="audioplayer_method_unmute.html">unmute ( )</a><br><BR><a class="classLink" href="audiorecorder_class_audiorecorder.html">AudioRecorder</a><br><a href="audiorecorder_method_beginrecord.html">beginRecord ( )</a><br><a href="audiorecorder_method_endrecord.html">endRecord ( )</a><br><a href="audiorecorder_method_isrecording.html">isRecording ( )</a><br><a href="audiorecorder_method_save.html">save ( )</a><br><a href="audiorecorder_method_setrecordsource.html">setRecordSource ( )</a><br><BR><a class="classLink" href="audiosample_class_audiosample.html">AudioSample</a><br><a href="audiosample_field_left.html">LEFT</a><br><a href="audiosample_field_right.html">RIGHT</a><br><a href="audiosample_field_left.html">left</a><br><a href="audiosample_field_mix.html">mix</a><br><a href="audiosample_field_right.html">right</a><br><a href="audiosample_method_addlistener.html">addListener ( )</a><br><a href="audiosample_method_buffersize.html">bufferSize ( )</a><br><a href="audiosample_method_getbalance.html">getBalance ( )</a><br><a href="audiosample_method_getchannel.html">getChannel ( )</a><br><a href="audiosample_method_getcontrol.html">getControl ( )</a><br><a href="audiosample_method_getformat.html">getFormat ( )</a><br><a href="audiosample_method_getgain.html">getGain ( )</a><br><a href="audiosample_method_getmetadata.html">getMetaData ( )</a><br><a href="audiosample_method_getpan.html">getPan ( )</a><br><a href="audiosample_method_getvolume.html">getVolume ( )</a><br><a href="audiosample_method_ismuted.html">isMuted ( )</a><br><a href="audiosample_method_length.html">length ( )</a><br><a href="audiosample_method_mute.html">mute ( )</a><br><a href="audiosample_method_removelistener.html">removeListener ( )</a><br><a href="audiosample_method_samplerate.html">sampleRate ( )</a><br><a href="audiosample_method_setbalance.html">setBalance ( )</a><br><a href="audiosample_method_setgain.html">setGain ( )</a><br><a href="audiosample_method_setpan.html">setPan ( )</a><br><a href="audiosample_method_setvolume.html">setVolume ( )</a><br><a href="audiosample_method_shiftbalance.html">shiftBalance ( )</a><br><a href="audiosample_method_shiftgain.html">shiftGain ( )</a><br><a href="audiosample_method_shiftpan.html">shiftPan ( )</a><br><a href="audiosample_method_shiftvolume.html">shiftVolume ( )</a><br><a href="audiosample_method_stop.html">stop ( )</a><br><a href="audiosample_method_trigger.html">trigger ( )</a><br><a href="audiosample_method_type.html">type ( )</a><br><a href="audiosample_method_unmute.html">unmute ( )</a><br><BR><a class="classLink" href="minim_class_minim.html">Minim</a><br><a href="minim_field_aifc.html">AIFC</a><br><a href="minim_field_aiff.html">AIFF</a><br><a href="minim_field_au.html">AU</a><br><a href="minim_field_loop_continuously.html">LOOP_CONTINUOUSLY</a><br><a href="minim_field_mono.html">MONO</a><br><a href="minim_field_snd.html">SND</a><br><a href="minim_field_stereo.html">STEREO</a><br><a href="minim_field_wav.html">WAV</a><br><a href="minim_method_createrecorder.html">createRecorder ( )</a><br><a href="minim_method_createsample.html">createSample ( )</a><br><a href="minim_method_debugoff.html">debugOff ( )</a><br><a href="minim_method_debugon.html">debugOn ( )</a><br><a href="minim_method_getinputstream.html">getInputStream ( )</a><br><a href="minim_method_getlinein.html">getLineIn ( )</a><br><a href="minim_method_getlineout.html">getLineOut ( )</a><br><a href="minim_method_loadfile.html">loadFile ( )</a><br><a href="minim_method_loadfileintobuffer.html">loadFileIntoBuffer ( )</a><br><a href="minim_method_loadfilestream.html">loadFileStream ( )</a><br><a href="minim_method_loadsample.html">loadSample ( )</a><br><a href="minim_method_setinputmixer.html">setInputMixer ( )</a><br><a href="minim_method_setoutputmixer.html">setOutputMixer ( )</a><br><a href="minim_method_stop.html">stop ( )</a><br><BR><a class="classLink" href="multichannelbuffer_class_multichannelbuffer.html">MultiChannelBuffer</a><br><a href="multichannelbuffer_method_getbuffersize.html">getBufferSize ( )</a><br><a href="multichannelbuffer_method_getchannel.html">getChannel ( )</a><br><a href="multichannelbuffer_method_getchannelcount.html">getChannelCount ( )</a><br><a href="multichannelbuffer_method_getsample.html">getSample ( )</a><br><a href="multichannelbuffer_method_set.html">set ( )</a><br><a href="multichannelbuffer_method_setbuffersize.html">setBufferSize ( )</a><br><a href="multichannelbuffer_method_setchannel.html">setChannel ( )</a><br><a href="multichannelbuffer_method_setchannelcount.html">setChannelCount ( )</a><br><a href="multichannelbuffer_method_setsample.html">setSample ( )</a><br><BR><a class="classLink" href="ugen_class_ugen.html">UGen</a><br><a href="ugen_method_channelcount.html">channelCount ( )</a><br><a href="ugen_method_getlastvalues.html">getLastValues ( )</a><br><a href="ugen_method_patch.html">patch ( )</a><br><a href="ugen_method_printinputs.html">printInputs ( )</a><br><a href="ugen_method_samplerate.html">sampleRate ( )</a><br><a href="ugen_method_setchannelcount.html">setChannelCount ( )</a><br><a href="ugen_method_setsamplerate.html">setSampleRate ( )</a><br><a href="ugen_method_tick.html">tick ( )</a><br><a href="ugen_method_unpatch.html">unpatch ( )</a><br><BR><a class="classLink" href="ugen.inputtype_class_ugen.inputtype.html">UGen.InputType</a><br><a href="ugen.inputtype_field_audio.html">AUDIO</a><br><a href="ugen.inputtype_field_control.html">CONTROL</a><br><a href="ugen.inputtype_method_valueof.html">valueOf ( )</a><br><a href="ugen.inputtype_method_values.html">values ( )</a><br><BR><a class="classLink" href="ugen.ugeninput_class_ugen.ugeninput.html">UGen.UGenInput</a><br><a href="ugen.ugeninput_method_channelcount.html">channelCount ( )</a><br><a href="ugen.ugeninput_method_getincomingugen.html">getIncomingUGen ( )</a><br><a href="ugen.ugeninput_method_getinputtype.html">getInputType ( )</a><br><a href="ugen.ugeninput_method_getinputtypeasstring.html">getInputTypeAsString ( )</a><br><a href="ugen.ugeninput_method_getlastvalue.html">getLastValue ( )</a><br><a href="ugen.ugeninput_method_getlastvalues.html">getLastValues ( )</a><br><a href="ugen.ugeninput_method_getouterugen.html">getOuterUGen ( )</a><br><a href="ugen.ugeninput_method_ispatched.html">isPatched ( )</a><br><a href="ugen.ugeninput_method_printinput.html">printInput ( )</a><br><a href="ugen.ugeninput_method_setchannelcount.html">setChannelCount ( )</a><br><a href="ugen.ugeninput_method_setincomingugen.html">setIncomingUGen ( )</a><br><a href="ugen.ugeninput_method_setlastvalue.html">setLastValue ( )</a><br></td>
    <td class="mainText border-left">Minim is an audio library that uses the
	<a href="http://java.sun.com/products/java-media/sound/doc-sampled.html">
		JavaSound API
	</a>, a bit of <a href="http://www.tritonus.org">Tritonus</a>, and Javazoom's
	<a href="http://www.javazoom.net/mp3spi/mp3spi.html">MP3SPI</a> to
	provide an easy to use audio library for people developing in the
	Processing environment. The philosophy behind the API is to make
	integrating audio into your sketches as simple as possible while still
	providing a reasonable amount of flexibility for more advanced users.
	There are no callbacks and you do not ever need to directly manipulate
	sample arrays, all of the dirty work is handled for you. 
	<p>
	Here are some of the features of Minim:
	<ul>
		<li>AudioPlayer: Mono and Stereo playback of WAV, AIFF, AU, SND,
			and MP3 files.</li>
		<li>AudioMetaData: An object filled with metadata about a file,
			such as ID3 tags.</li>
		<li>AudioRecorder: Mono and Stereo audio recording either
			buffered or direct to disk.</li>
		<li>AudioInput: Mono and Stereo input monitoring.</li>
		<li>AudioOutput: Mono and Stereo sound synthesis.</li>
		<li>FFT: perform a Fourier Transform on audio data to generate a frequency spectrum.</li>
		<li>BeatDetect: a class for doing beat detection.</li>
		<li>A <a href="http://code.compartmental.net/minim/index_ugens.html">real-time synthesis framework</a> based around unit generators, which we call UGens.</li>
	</ul>
	<p>
	If you are using Processing you've already got Minim! So feel free to peruse 
	this documentation and start playing with examples. If you prefer Javadocs, 
	<a href="http://code.compartmental.net/minim/javadoc/">we got those too</a>! 
	<p>
	If you are not using Processing,
	you can still use Minim! We provide a constructor for the <code>Minim</code> class 
	that takes a plain <code>Object</code> and you simply need to 
	<a href="http://code.compartmental.net/minim/javadoc/ddf/minim/Minim.html#Minim(java.lang.Object)">define two methods</a>
	that we will find using reflection.
	<p>
	The download includes Processing examples and source code. 
	Minim is licensed under the
	<a href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html">GNU Lesser General Public License</a> (LGPL), 
	a copy of which is included with the distribution.
	<p>
	<strong>Download:</strong>
	<a href="http://code.compartmental.net/minim/distro/minim-2.2.2.zip">Minim 2.2.2 Zip</a> or visit the  
	<a href="https://github.com/ddf/Minim/releases/tag/v2.2.2">Github 2.2.2 release page</a>
	<p>
	If you have any questions about using the library you can start by 
	<a href="http://forum.processing.org/two/discussions/tagged/minim">checking the Processing forum</a> 
	or <a href="http://forum.processing.org/two/profile/ddf">send me a private message</a> there. 
	If you find bugs, please report them on the
	<a href="https://github.com/ddf/Minim/issues">Github issues page</a>.
	<p>
	If you'd like to contribute to the development of Minim, simply
	<a href="http://github.com/ddf/Minim">fork the project on Github</a>
	and send pull requests when you've got code you'd like us to consider
	for inclusion in the library. Enjoy!
	<br/></td>
  </tr>
  
</table>
</center>
</body>
</html>
